草庐IT

Java MVC - 感觉我不明白

全部标签

java - 从 java8 迁移到 java9 时,对方法的引用不明确

我正在将一个项目从JAVA8迁移到JAVA9,但我在让代码正常工作时遇到了一些问题。所有在JAVA8中工作,但在9中我有以下错误:Errorjava:referencetookisambiguousbothmethodok(java.util.function.Supplier)andmethodok(web.Procedure)match这是我调用方法时的代码:publicResponseEntity>mailTemplateFindAll(){returnok(()->mailTemplateService.findAll());}这里是实现:publicResponseEntit

java - Android (Java) 中的 ext4/fsync 情况不明

TimBray的文章"SavingDataSafely"给我留下了悬而未决的问题。今天,它已经有一个多月了,我还没有看到任何跟进,所以我决定在这里讨论这个话题。文章的一个观点是在使用FileOutputStream时应该调用FileDescriptor.sync()以确保安全。起初,我很恼火,因为在我做Java的12年里,我从未见过任何Java代码进行同步。特别是因为处理文件是一件非常基本的事情。此外,FileOutputStream的标准JavaDoc从未暗示过同步(Java1.0-6)。经过一些研究,我认为ext4实际上可能是第一个需要同步的主流文件系统。(是否有其他文件系统建议显

java - CDI 不明确的依赖

我有一个@SessionScoped@Namedbean和一个用于用户对象的@Producer方法:@Named@SessionScopedpublicclassUserBeanimplementsSerializable{//...@Named@Produces@LoggedIn@SessionScopedpublicMyUsergetCurrentUser(){returnuser;}}这在我的设置(JBoss-7.1.1-Final)中运行良好,使用#{currentUser.name}从JSF页面访问用户字段没有问题。限定符是org.jboss.seam.security.an

java - 不明白@ConstructorProperties

关于@ConstructorPropertiesDocumentation说“构造函数上的注释,显示该构造函数的参数如何对应于构造对象的getter方法”。它给出了一个模棱两可的例子,因为变量名与参数相同。我真的不明白为什么@ConstructorProperties({"x","y"})引用gettersgetX()和getY()。x和y的大小写与注释不一致。所以为了阐明这段代码中构造函数的注解应该是什么:publicclassPoint{publicPoint(inta,intb){this.c=a;this.d=b;}publicintgetCc(){returnc;}publi

java - Java 8 中的方法不明确,为什么?

这个问题在这里已经有了答案:Javatypeinference:referenceisambiguousinJava8,butnotJava7(2个答案)关闭7年前。publicstaticvoidmain(String...args){then(bar());//CompilationError}publicstaticEbar(){returnnull;}publicstaticvoidthen(Throwableactual){}publicstaticvoidthen(CharSequenceactual){}编译结果(来自命令行javacAmbiguous.java)Ambi

java - Thread.sleep 的方法引用不明确

我遇到了一个奇怪的问题,其中对Thread::sleep的方法引用不明确,但具有相同签名的方法却不是。packagetest;publicclassTest{publicstaticvoidmain(String[]args){foo(Test::sleep,1000L);//finefoo((FooVoid)Thread::sleep,1000L);//finefoo(Thread::sleep,1000L);//error}publicstaticvoidsleep(longmillis)throwsInterruptedException{Thread.sleep(millis)

java - 为什么两个带有签名(primitive, wrapper) 和(primitive, primitive) 的方法会导致方法调用(wrapper, primitive) 不明确?

这只是一个练习,但我无法弄清楚其中的歧义:privatestaticvoidflipFlop(Stringstr,inti,IntegeriRef){System.out.println(str+"ciao");}privatestaticvoidflipFlop(Stringstr,inti,intj){System.out.println(str+"hello");}publicstaticvoidmain(String[]args){flipFlop("hello",newInteger(4),2004);}它说:ThemethodflipFlop(String,int,Inte

搞明白什么是零拷贝,就是这么简单

我们总会在各种地方看到零拷贝,那零拷贝到底是个什么东西。接下来,让我们来理一理啊。拷贝说的是计算机里的I/O操作,也就是数据的读写操作。计算机可是一个复杂的家伙,包括软件和硬件两大部分,软件主要指操作系统、驱动程序和应用程序。硬件那就多了,CPU、内存、硬盘等等一大堆东西。这么复杂的设备要进行读写操作,其中繁琐和复杂程度可想而知。传统I/O的读写过程如果要了解零拷贝,那就必须要知道一般情况下,计算机是如何读写数据的,我把这种情况称为传统I/O。数据读写的发起者是计算机中的应用程序,比如我们常用的浏览器、办公软件、音视频软件等。而数据的来源呢,一般是硬盘、外部存储设备或者是网络套接字(也就是网络

TCP三次握手与四次挥手(一次明白)

TCP基本信息默认端口号:80LINUX中TIME_WAIT的默认时间是30sTCP三次握手三次握手过程:每行代表发起握手到另一方刚刚收到数据包时的状态客户端服务端客户端状态服务端状态握手前CLOSELISTEN客户端发送带有SYN标志的数据包到服务端一次握手SYN_SENDLISTEN二次握手服务端发送带有SYN/ACK标志的数据包到客户端SYN_SENDSYN_RCVD客户端发送带有ACK标志的数据包到服务端三次握手ESTABLISHEDSYN_RCVD握手结束ESTABLISHEDESTABLISHED为什么是三次握手,两次不行吗?三次握手主要是为了建立可靠的通信信道,是客户端和服务端同

python - 在 Windows 上的 iPython 中,不明确的选项卡完成不起作用

我在安装了pyreadline的Windows7x64上运行IPython。如果我开始一个新session并输入:importnumpynu然后nu自动完成numpy.但是,如果我开始一个新session并尝试这个:importnumpyn然后什么也没有发生。我希望它能循环遍历所有可能的完成。我目前使用的是开箱即​​用的配置,我是否需要更改设置以启用不明确的制表符补全功能,还是我只是运气不好?编辑:为了解决ma3204的评论,这是另一个示例(从新的ipythonsession开始):[In1]:value1=5[In2]:value2=6[In3]:va...nothinghappen